****************************************************************************
* Nome do Arquivo: 		codigo_eseb14.do
* Data:					23/03/2020
* Autor: 				Fred Batista
* Prop�sito: 			An�lise do ESEB2010
* Dados: 				03928_1_ESEB_2014.dta
* Output:				-	*/
****************************************************************************


* VARI�VEIS DO QUESTION�RIO NO BANCO

* Sexo: D2_SEXO
* Idade; D1A_IDADE
* Escolaridade: D3_ESCOLA
* Status socioeconomico: Q22A- Q22D
* Avalia��o econ�mica: Q3, Q3A, Q3B
* Classe: PC11A-PC11B
* avalia��o do governo: PC2
* gosta de partido: Q16B
* PT direita-esquerda: Q11A
* PMDB direita-esquerda: Q11B
* PSDB direita-esquerda: Q11E
* Dilma direita esquerda: -
*A�cio direita esquerda: -
* auto-localiza��o: Q12
* voto 2o turno: Q5P2B
* rejei��o PT: Q9A
* rejei��o PSDB: Q9E
* regi�o: regiao
* conhecimento: Q20A-Q20D
* bolsa familia: PC18
* pesos: fpond

*******

* RECODIFICA��O

* homem

gen homem = 2 - D2_SEXO

* idade

gen idade = (D1A_IDADE - 16)/(89 - 16)

* escolaridade

gen escolaridade = D3_ESCOLA/9

* status socieconomico

recode Q22A Q22B Q22C Q22D (1=1) (2=0) (else=.)
gen socioeconomico = (Q22A + Q22B + Q22C + Q22D)/4

* avalia��o economica

gen avecon = Q3
recode avecon (1=1) (2=0.5) (3=0) (else=.)

* avalia��o do governo

gen avgov = PC2
recode avgov (8 9=.)
replace avgov = 5 - avgov

* regiao = regiao

* bolsa fam�lia

gen bolsa = PC18
recode bolsa (1=1) (2=0) (else=.)

* gosta pt

gen gostapt = Q16B
recode gostapt (25=1) (else=0)

* gosta psdb

gen gostapsdb = Q16B
recode gostapsdb (20=1) (else=0)

* rejei��o pt

gen rejeitapt = Q9A
recode rejeitapt (96 97 99 = .)
replace rejeitapt = rejeitapt/10

* rejei��o psdb

gen rejeitapsdb = Q9E
recode rejeitapsdb (96 97 99 = .)
replace rejeitapsdb = rejeitapsdb/10

* ideologia pt

gen pt_de = Q11A
recode pt_de (96 98 99 9999=.)

* localiza pt

gen loc_pt = 0
replace loc_pt = . if Q11A==9999
replace loc_pt = 1 if pt_de!=.

* ideologia psdb

gen psdb_de = Q11E
recode psdb_de (96 98 99 9999=.)

* localiza psdb 

gen loc_psdb = 0
replace loc_psdb = . if Q11E==9999
replace loc_psdb = 1 if psdb_de!=.

* ideologia pmdb

gen pmdb_de = Q11B
recode pmdb_de (96 98 99 9999=.)

* localiza pmdb 

gen loc_pmdb = 0
replace loc_pmdb = . if Q11B==9999
replace loc_pmdb = 1 if pmdb_de!=.

* ideologia respodente

gen resp_de = Q12
recode resp_de (95 98 99=.)

gen resp_de01 = resp_de/10

* localiza respondente

gen loc_resp = resp_de
recode loc_resp (.=0) (else=1)

* voto 2o turno

gen voto = Q5P2B
recode voto (1=1) (2=0) (else=.)

* localiza todos

gen loc_geral = 0
replace loc_geral = 1 if loc_pt==1 & loc_psdb==1 & loc_pmdb==1
 
* psdb a esquerda de pt

gen psdbpt_ord = 1
replace psdbpt_ord = 0 if psdb_de <= pt_de

* psdb a esquerda de pt

gen psdbpt_ord = 1
replace psdbpt_ord = 0 if psdb_de <= pt_de

* polarizacao psdb pt

gen dist_psdbpt = psdb_de - pt_de


* preenche todos os requisitos

gen todosreq = 0
replace todosreq = 1 if loc_resp==1 & loc_geral==1 & psdbpt_ord ==1

*** informac�o

* open-ended

gen item1 = Q20A
recode item1 (3=1) (else=0)

gen item2 = Q20B
recode item2 (4=1) (else=0)

gen item3 = Q20C
recode item3 (1=1) (else=0)

gen item4 = Q20D
recode item4 (3=1) (else=0)

alpha item1 item2 item3 item4

gen conhecimento = (item1 + item2 + item3 + item4)/4

gen conhe_g = conhecimento
recode conhe_g (.25 .5 .75 1=1) 

factor  item1 item2 item3 item4, factor(1)

predict conhecimento2

summarize conhecimento2

replace conhecimento2 = (conhecimento2 - r(min))/(r(max) - r(min))

* peso: fpond


* AN�LISE

* requisito 1

tab loc_resp [aweight=fpond]

probit loc_resp conhecimento escolaridade socioeconomico idade homem i.regiao [pweight=fpond]

margins, dydx(conhecimento)

* requisito 2

tab loc_geral [aweight=fpond]

probit loc_geral conhecimento escolaridade socioeconomico idade homem i.regiao [pweight=fpond]

margins, dydx(conhecimento)

* requisito 3: psdb pt

tab psdbpt_ord [aweight=fpond]

probit psdbpt_ord  conhecimento escolaridade socioeconomico idade homem i.regiao [pweight=fpond]

margins, dydx(conhecimento)

* preenchimento dos 3 requisitos

tab todosreq [aweight=fpond]

probit todosreq conhecimento escolaridade socioeconomico idade homem i.regiao [pweight=fpond]

margins, dydx(conhecimento escolaridade)


* dimensionalide da escala por an�lise fatorial

factor resp_de pt_de psdb_de pmdb_de [aweight=fpond] if loc_resp==1, factor(1)

factor resp_de pt_de psdb_de pmdb_de [aweight=fpond] if todosreq==0, factor(1)

factor resp_de pt_de psdb_de pmdb_de [aweight=fpond] if todosreq==1, factor(1)

factor resp_de pt_de psdb_de pmdb_de [aweight=fpond] if conhe_g==0, factor(1)

factor resp_de pt_de psdb_de pmdb_de [aweight=fpond] if conhe_g==1, factor(1)


* intera��o com todosreq

probit voto resp_de avgov  gostapt gostapsdb escolaridade socioeconomico idade homem i.regiao avecon bolsa [pweight=fpond]

probit voto c.resp_de##c.todosreq avgov  gostapt gostapsdb escolaridade socioeconomico idade homem i.regiao avecon bolsa [pweight=fpond]

probit voto c.resp_de01##c.todosreq avgov  gostapt gostapsdb escolaridade socioeconomico idade homem i.regiao avecon bolsa [pweight=fpond]

margins, dydx(resp_de01) at(todosreq=(0(1)1))
